package com.chalk.model;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;

import java.math.BigDecimal;

import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.List;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 *
 * </p>
 *
 * @author glq
 * @since 2020-12-24
 */

@Data
@EqualsAndHashCode(callSuper = false)
@TableName("t_ticket_order")
@ApiModel(value = "TicketOrder对象", description = "")
public class TicketOrder implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "票订单id")
    @TableId(value = "ticket_order_id", type = IdType.AUTO)
    @JsonProperty("ticketOrderId")
    private Integer ticketOrderId;

    @ApiModelProperty(value = "票订单编号")
    @JsonProperty("ticketOrderNo")
    private String ticketOrderNo;

    @ApiModelProperty(value = "预定时间")
    @JsonProperty("scheduledTime")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private LocalDateTime scheduledTime;

    @ApiModelProperty(value = "场馆id")
    @JsonProperty("venueId")
    private Integer venueId;

    @ApiModelProperty(value = "创建时间")
    @JsonProperty("createTime")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "更新时间")
    @JsonProperty("updateTime")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private LocalDateTime updateTime;

    @ApiModelProperty(value = "0 未删除 1已删除")
    @JsonProperty("isDelete")
    private Integer isDelete;

    @ApiModelProperty(value = "用户id")
    @JsonProperty("memberId")
    private String memberId;

    @ApiModelProperty(value = "票订单总额")
    @JsonProperty("ticketOrderTotal")
    private BigDecimal ticketOrderTotal;
    @ApiModelProperty(value = "票订单状态")
    @JsonProperty("ticketOrderStatus")
    private Integer ticketOrderStatus;

    @ApiModelProperty(value = "微信预支付订单no")
    @JsonProperty("wxOrderNo")
    private String wxOrderNo;

    @ApiModelProperty(value = "支付时间")
    @JsonProperty("payTime")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private LocalDateTime payTime;


    @ApiModelProperty(value = "场馆名称")
    @JsonProperty("venueName")
    @TableField(exist = false)
    private String venueName;
    @ApiModelProperty(value = "场馆背景图")
    @TableField(exist = false)
    @JsonProperty("venuePic")
    private String venuePic;

    @ApiModelProperty(value = "订单详情")
    @TableField(exist = false)
    @JsonProperty("ticketOrderItemList")
    private List<TicketOrderItem> ticketOrderItemList;


    @ApiModelProperty(value = "昵称")
    @TableField(exist = false)
    @JsonProperty("nickName")
    private String nickName;
}
